3

我正在尝试使用 matplotlib 和 mpld3 绘制东西。这是我用来生成图表的代码:

_fig = plt.figure()
_pl = _fig.add_subplot(111)
_pl.plot(_times, _values)
_pl.set_xlabel("Time")
_pl.set_ylabel("Value")

_pl.tick_params(direction="out", axis="both", colors="white", which="both")
_pl.xaxis.label.set_color("white")
_pl.yaxis.label.set_color("white")

_data = mpld3.fig_to_html(_fig)
.... send to client to be rendered

创建了一个图表,所有的动态控件都工作了。“时间”和“值”标签以白色打印,但刻度标签以黑色打印。

如果我跳过 mpld3 并使用 plt.show() 对其进行测试,所有刻度标签都会以白色打印。当我检查 mpld3 生成的 javascript 代码时,我似乎没有检测到刻度标签的颜色设置。

如果我在 tick_params 中使用另一个参数,比如字体大小,它确实有效果。只有颜色会被忽略,这会导致标签在深蓝色背景上以黑色打印。

我该如何改变?

编辑:

在检查实际呈现的页面时,似乎有一个“填充”属性决定了颜色。

div#fig_el249691400950908834083380374260 .mpld3-xaxis text 
{font-family:sans-serif; font-size:10px; fill:black; stroke:none; }

我尝试在 css 中覆盖它,但我不知道该怎么做。这似乎覆盖了我在其他地方设置的任何内容。似乎 mpld3 设置了刻度标签的颜色,但我该如何修改呢?

汉努

4

1 回答 1

0

mpld3 仅支持 matplotlib 全部功能的一个子集,而刻度格式是尚不支持的众多功能之一。mpld3 wiki上有这些缺失功能的部分列表。

于 2017-04-20T14:22:36.127 回答