Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/python_nvd3-0.16.0-py3.11.egg/nvd3/lineChart.py: 9%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

23 statements  

1#!/usr/bin/python 

2# -*- coding: utf-8 -*- 

3 

4""" 

5Python-nvd3 is a Python wrapper for NVD3 graph library. 

6NVD3 is an attempt to build re-usable charts and chart components 

7for d3.js without taking away the power that d3.js gives you. 

8 

9Project location : https://github.com/areski/python-nvd3 

10""" 

11 

12from .NVD3Chart import NVD3Chart, TemplateMixin 

13 

14 

15class lineChart(TemplateMixin, NVD3Chart): 

16 

17 """ 

18 A line chart or line graph is a type of chart which displays information 

19 as a series of data points connected by straight line segments. 

20 

21 Python example:: 

22 

23 from nvd3 import lineChart 

24 chart = lineChart(name="lineChart", x_is_date=False, x_axis_format="AM_PM") 

25 

26 xdata = range(24) 

27 ydata = [0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 4, 3, 3, 5, 7, 5, 3, 16, 6, 9, 15, 4, 12] 

28 ydata2 = [9, 8, 11, 8, 3, 7, 10, 8, 6, 6, 9, 6, 5, 4, 3, 10, 0, 6, 3, 1, 0, 0, 0, 1] 

29 

30 extra_serie = {"tooltip": {"y_start": "There are ", "y_end": " calls"}} 

31 chart.add_serie(y=ydata, x=xdata, name='sine', extra=extra_serie) 

32 extra_serie = {"tooltip": {"y_start": "", "y_end": " min"}} 

33 chart.add_serie(y=ydata2, x=xdata, name='cose', extra=extra_serie) 

34 chart.buildhtml() 

35 print(chart.content) 

36 

37 Javascript generated: 

38 

39 .. include:: ./examples/lineChart.html 

40 

41 See the source code of this page, to see the underlying javascript. 

42 """ 

43 CHART_FILENAME = "./linechart.html" 

44 template_chart_nvd3 = NVD3Chart.template_environment.get_template(CHART_FILENAME) 

45 

46 def __init__(self, **kwargs): 

47 super(lineChart, self).__init__(**kwargs) 

48 self.model = 'lineChart' 

49 

50 height = kwargs.get('height', 450) 

51 width = kwargs.get('width', None) 

52 

53 if kwargs.get('x_is_date', False): 

54 self.set_date_flag(True) 

55 self.create_x_axis('xAxis', 

56 format=kwargs.get('x_axis_format', '%d %b %Y'), 

57 date=True) 

58 self.set_custom_tooltip_flag(True) 

59 else: 

60 if kwargs.get('x_axis_format') == 'AM_PM': 

61 self.x_axis_format = format = 'AM_PM' 

62 else: 

63 format = kwargs.get('x_axis_format', 'r') 

64 self.create_x_axis('xAxis', format=format, 

65 custom_format=kwargs.get('x_custom_format', 

66 False)) 

67 self.create_y_axis( 

68 'yAxis', 

69 format=kwargs.get('y_axis_format', '.02f'), 

70 custom_format=kwargs.get('y_custom_format', False)) 

71 

72 # must have a specified height, otherwise it superimposes both chars 

73 self.set_graph_height(height) 

74 if width: 

75 self.set_graph_width(width)