python - 如何删除 x 轴的垂直线并向绘图子图添加标签?

标签 python pandas matplotlib plotly

我一直在尝试使用plotly 库创建子图。我已经完成了大部分部分,但想知道如何添加以下内容:

  1. 删除右侧散点图上 x=0 处的垂直线。
  2. 向左图和右图添加 xlabel 和 ylabel。
    • 直方图
    • xlabel = 值,ylabel = 计数
    • 散点图
    • xlabel = 值,ylabe = 经验 cdf

这是迄今为止我的代码:


import numpy as np

import plotly
import plotly.offline as py
import plotly.plotly as pyp
import plotly.graph_objs as go
import plotly.figure_factory as ff
import plotly.tools as tls
from plotly.offline import plot, iplot, init_notebook_mode
init_notebook_mode(connected=False)


np.random.seed(42)
data = np.random.binomial(10, 0.3, 10000)
x, y = np.sort(data), np.arange(1, len(data)+1) / len(data)
idx = np.abs(y-0.5).argmin()
z = x[idx]


hist0 = go.Histogram(x = data,name='Histogram')
sc1 = go.Scatter(x=x,y=y,mode = 'markers',name = 'Empirical CDF')
sc2 = go.Scatter(x=x,y=[0.5]*len(x),mode = 'lines',name = 'y=0.5 (central tendency)')
sc3 = go.Scatter(x=[z]*1000,y=np.linspace(0,1,1000),mode = 'lines',name = 'x={:.2f}'.format(z))


fig = plotly.tools.make_subplots(rows=1, cols=2, shared_xaxes=True,
                                subplot_titles=('Histogram','Empirical CDF'))

fig.append_trace(hist0, 1, 1)
fig.append_trace(sc1, 1, 2)
fig.append_trace(sc2, 1, 2)
fig.append_trace(sc3, 1, 2)

fig['layout'].update(height=400, width=800, title='')


iplot(fig)

输出: enter image description here

问题

  • 如何删除右侧图中的垂直 x=0 线
  • 如何为这两个子图提供 xlabel 和 ylabel?

最佳答案

假设您正在使用plotly版本4:

  • 您可以使用 fig.update_xaxes(row=1, col=2, zeroline=False) 删除垂直 x=0 线
  • 您可以使用 fig.update_xaxes(row=1, col=1, title="title") 来标记轴(用 yaxes 替换 xaxes 并为 row/col 设置适当的标题

subplots 的文档链接和 axes

如果您使用的是版本 3:

  • 您可以使用 fig.layout.xaxis<n>.zeroline=False 从任何 x 轴删除零线(适当设置 n,在本例中可能是 2)
  • 您可以使用 fig.layout.<dim>axis<n>.title="title" 设置任何轴的标题(适当设置dimn,如yaxis1等)

关于python - 如何删除 x 轴的垂直线并向绘图子图添加标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57312729/

相关文章:

python - python中的e.printStackTrace等价物

python - 如何只删除索引名称而不删除 Pandas 多索引数据框中的内容

python - FailedPreconditionError : Attempting to use uninitialized in Tensorflow

python - 使用 matplotlib、python 从三个正交向量和幅度绘制椭球体

python - __length_hint__ 什么时候会不准确?

php - 通过 FTP 将文件复制到服务器后的文件大小差异

python - 在 Python 中增加矩阵的子集

python - Matplotlib/Pandas 中条形图的优化

python - Seaborn/Matplotlib - 仅在 FacetGrid 中显示某些 X 值

python - 如何使用 Python 和 pyplot 将标准直方图数据绘制成极坐标直方图?