今天搞可視化的折線圖,發現和之前的柱狀圖出現同樣的問題,就是 x 軸數據如果過多或者 str 內容過長,就不能完全顯示,看了文檔好長時間,很是煩躁,博文最後總結了三種方法。
官方文檔解決這個問題的地方(在設置全局設置中的 AxisOpts 中):
直接上代碼解釋吧:
最初的代碼:
#折線圖
(
#init_opts=opts.InitOpts(width="1500px"),設置可視化圖的長度,1500像素
Line()
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name='折線統計圖',
y_axis=y_data,
)
.set_global_opts(
#
tooltip_opts=opts.TooltipOpts(is_show=False),
yaxis_opts=opts.AxisOpts(
#分割線配置,顯示 y 軸每個刻度的分割線
splitline_opts=opts.SplitLineOpts(is_show=True),
)
)
.render("Line.html")
)
可以看到原本5個的數據只顯示了3個,修改後的代碼:
#折線圖
(
#init_opts=opts.InitOpts(width="1500px"),設置可是畫圖的長度,1500像素
Line()
.add_xaxis(xaxis_data=x_data)
.add_yaxis(
series_name='折線統計圖',
y_axis=y_data,
)
.set_global_opts(
#
tooltip_opts=opts.TooltipOpts(is_show=False),
xaxis_opts=opts.AxisOpts(
axislabel_opts={"interval":"0"}
),
yaxis_opts=opts.AxisOpts(
#分割線配置,顯示 y 軸每個刻度的分割線
splitline_opts=opts.SplitLineOpts(is_show=True),
)
)
.render("Line.html")
)
總結解決方法:
- 在初始化圖的時候直接將圖的寬度邊長(適用於數據較少且名稱較長的數據):
Line(init_opts=opts.InitOpts(width="1500px"))
2.設值全局設置,更改 interval 的值,默認會採用標籤不重疊的方式顯示標籤(也就是默認會將部分文字顯示不全)可以設置爲0強制顯示所有標籤,如果設置爲1,表示隔一個標籤顯示一個標籤,如果爲3,表示隔3個標籤顯示一個標籤,以此類推
xaxis_opts=opts.AxisOpts(
axislabel_opts={"interval":"0"}
)
3.設置全局設置,將字體傾斜,更改 interval 的值,設置傾斜度數:
xaxis_opts=opts.AxisOpts(
axislabel_opts={"rotate":45}
)