我正在使用plotly 生成饼图,文本信息设置在扇区之外。然而,当扇区数量增加到很大时,文本信息将不会显示在图框中
MWE如下
import plotly.express as px
from random import randint
import pandas as pd
allData = []
for i in range(100):
ele = {}
ele['Category'] = "Category_" + str(i)
ele['number'] = i + 1
allData.append(ele)
df = pd.DataFrame(allData)
fig = px.pie(names = df['Category'], values = df['number'], hole = 0.5)
fig.update_traces(textinfo = 'label+value', textposition = "outside")
fig.show()
当我缩小页面时,所有文字信息都会显示出来
但是这次字体变小了,难以辨认。
有没有办法生成带有滚动条的 100% 尺寸大图像?这样所有信息都将可见。
您可以做三件事:
使用
textinfo = 'label+value'
,每个标签/值对占用两行,您可以通过指定 texttemplate
将它们显示在同一行上来节省一些空间。
默认情况下,绘图的分辨率适合浏览器窗口,您可以通过指定布局宽度/高度来增加分辨率。
字体大小也是根据可用空间设置的,但仍然可以调整它(还有字体系列,因为当尺寸较小时,有些字体比其他字体更具可读性,请参见这篇post)。
fig = px.pie(names=df['Category'], values=df['number'], hole=0.5)
fig.update_traces(texttemplate='%{label}: %{value}', textposition="outside")
fig.update_layout(
width=2048,
height=2048,
font_family='Segoe UI',
font_size=11
)
fig.show()