python - Matplotlib 条形图或类似的条形图,条形位于特定 x、y、角度
问题描述
有没有办法使用 matplotlib 创建条形图,使条形图位于特定的 x、y 和特定角度?在下面的屏幕截图中,我只是在散点图顶部的 PowerPoint 中绘制了粗线(表示细条)。
它不一定是条形图,我只是不知道这样的情节的名称。我想过尝试用一个颤抖的情节来模仿这一点,但不知道怎么做。想要这个的原因是具有可变值的密集间隔点(不像本示例中那样单调增加),并且仅着色散点图并不能从视觉上阐明感兴趣的趋势,即使使用不同的颜色图也是如此。
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(25)
y = -x
z = x
plt.scatter(x, y, c=z, cmap='viridis')
解决方案
我不知道这样做的固定方法,但您可以在紧要关头创建自己的函数来绘制矩形来创建此图。例如:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Rectangle
x = np.arange(25)
y = -x
z = x
plt.scatter(x, y, c=z, cmap='viridis')
def slanted_bars(x, y, z, angle, ax):
for xi, yi, zi in zip(x, y, z):
ax.add_patch(Rectangle((xi, yi), 1, zi, angle))
fig, ax = plt.subplots(1, 1)
ax.scatter(x, y, c=z, cmap='viridis')
slanted_bars(x, y, z, -45, ax)
您必须使用矩形的颜色和形状才能获得吸引人的东西,但它可以做您想做的事情。
推荐阅读
- batch-file - 如何在管理员模式和最大化窗口中启动 .exe?
- facebook-graph-api - Facebook API 用于回复业务页面上的评论
- netsuite - 当我卸载捆绑包时,netsuite 令牌是否会过期?
- laravel - 使用队列的图像上传后台处理
- ios - 在 iOS/swift 中上传图像时如何删除裁剪选项
- php - 无法运行 vendor/bin/homestead 导致错误 yaml.php 第 52 行
- r - 如何添加滑块以使点及时出现或消失
- laravel - tymon/jwt-auth 包在 laravel 5.8 中显示错误
- java - 如何将 docker 容器连接到远程数据库?
- c - 尝试使用递归反向打印链表数据时出现分段错误