| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 
 | import akshare as akimport pyecharts.options as opts
 from pyecharts.charts import Bar, Line
 from pyecharts.commons.utils import JsCode
 
 fund_em_info_df = ak.fund_em_open_fund_info(fund="006008", indicator="单位净值走势")
 
 fund_name = '诺安积极配置混合C'
 x_data = fund_em_info_df['净值日期'].tolist()
 y_data = fund_em_info_df['单位净值'].tolist()
 z_data = fund_em_info_df['日增长率'].tolist()
 
 background_color_js = (
 "new echarts.graphic.LinearGradient(0, 0, 0, 1, "
 "[{offset: 0, color: '#c86589'}, {offset: 1, color: '#06a7ff'}], false)"
 )
 area_color_js = (
 "new echarts.graphic.LinearGradient(0, 0, 0, 1, "
 "[{offset: 0, color: '#eb64fb'}, {offset: 1, color: '#3fbbff0d'}], false)"
 )
 
 
 bar = (
 Bar(init_opts=opts.InitOpts(bg_color=JsCode(background_color_js), width='700px', height='450px'))     ## width, height修改画布大小
 .add_xaxis(xaxis_data=x_data)
 .add_yaxis(
 series_name="",
 y_axis=z_data,
 label_opts=opts.LabelOpts(is_show=False),
 itemstyle_opts=opts.ItemStyleOpts(
 ### 调用js代码绘制不同颜色
 color=JsCode(
 """
 function(params) {
 var colorList;
 if (params.data >= 0) {
 colorList = '#FF4500';
 } else {
 colorList = '#14b143';
 }
 return colorList;
 }
 """
 )
 )
 )
 .set_global_opts(
 title_opts=opts.TitleOpts(
 title=fund_name,
 pos_bottom="90%",
 pos_left="center",
 title_textstyle_opts=opts.TextStyleOpts(color="#fff", font_size=16),
 ),
 xaxis_opts=opts.AxisOpts(
 type_="category",
 boundary_gap=False,
 axislabel_opts=opts.LabelOpts(margin=30, color="#ffffff63"),
 axisline_opts=opts.AxisLineOpts(is_show=False),
 axistick_opts=opts.AxisTickOpts(
 is_show=True,
 length=25,
 linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),
 ),
 splitline_opts=opts.SplitLineOpts(
 is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")
 ),
 ),
 yaxis_opts=opts.AxisOpts(
 type_="value",
 position="left",
 axislabel_opts=opts.LabelOpts(margin=20, color="#ffffff63"),
 axisline_opts=opts.AxisLineOpts(
 linestyle_opts=opts.LineStyleOpts(width=2, color="#fff")
 ),
 axistick_opts=opts.AxisTickOpts(
 is_show=True,
 length=15,
 linestyle_opts=opts.LineStyleOpts(color="#ffffff1f"),
 ),
 splitline_opts=opts.SplitLineOpts(
 is_show=True, linestyle_opts=opts.LineStyleOpts(color="#ffffff1f")
 ),
 ),
 
 datazoom_opts=[opts.DataZoomOpts(), opts.DataZoomOpts(type_="inside")]    ## 时间轴显示并可同通过鼠标滑动
 )
 )
 
 
 line = (
 Line(init_opts=opts.InitOpts(bg_color=JsCode(background_color_js)))
 .add_xaxis(xaxis_data=x_data)
 .add_yaxis(
 series_name="",
 y_axis=[round(i * 10, 2) for i in y_data],
 is_smooth=True,
 is_symbol_show=True,
 symbol="circle",
 symbol_size=6,
 linestyle_opts=opts.LineStyleOpts(color="#fff"),
 label_opts=opts.LabelOpts(is_show=True, position="top", color="white"),
 itemstyle_opts=opts.ItemStyleOpts(
 color="red", border_color="#fff", border_width=3
 ),
 tooltip_opts=opts.TooltipOpts(is_show=False),
 areastyle_opts=opts.AreaStyleOpts(color=JsCode(area_color_js), opacity=1),
 )
 )
 
 bar.overlap(line)        ## 混合柱状图和线图
 bar.render_notebook()
 
 
 |