python - 在 pcolor 图上添加 $y=x$ 行:它不起作用
问题描述
考虑以下最小的工作示例:
import numpy as np
from matplotlib.pyplot import *
import matplotlib.pyplot as plt
import matplotlib.colors as colors
import matplotlib.cbook as cbook
u=list(map(lambda x:pow(10,x),np.arange(-2,1+0.1,0.1).tolist()))
v=list(map(lambda x:pow(10,x),np.arange(-2,1+0.1,0.1).tolist()))
[X,Y]=np.meshgrid(u,v)
Z1=np.ones((len(u),len(v)))
fig, ax = plt.subplots()
pcm = ax.pcolor(X, Y, Z1,norm=colors.LogNorm(vmin=Z1.min(), vmax=Z2.max()),
cmap='PuBu_r',edgecolors='black')
plt.xscale('log', basex=10)
plt.yscale('log', basey=10)
fig.colorbar(pcm, extend='max')
plt.plot([u[0], v[0]], [u[-1], v[-1]], 'k-', lw=2)
plt.title('test1')
plt.show()
我想在图表上显示一条对角线(方程 y=x)。我添加的 plt.plot([u[0], v[0]], [u[-1], v[-1]], 'k-', lw=2) 行不起作用.
你能帮我解决这个问题吗?
解决方案
尝试切换元素:
fig, ax = plt.subplots()
pcm = ax.pcolor(X, Y, Z1,norm=colors.LogNorm(vmin=Z1.min(), vmax=Z2.max()),
cmap='PuBu_r',edgecolors='black')
plt.xscale('log', basex=10)
plt.yscale('log', basey=10)
fig.colorbar(pcm, extend='max')
plt.plot([u[0], u[-1]], [v[0], v[-1]], 'k-', lw=2) # Here the difference
plt.title('test1')
plt.show()
推荐阅读
- jquery - Jquery从循环中跳过最后两行
- vb.net - DataGridView 初始加载速度非常快,顺序刷新非常慢(VB.NET)
- android - 是否可以针对 Android 应用程序仅针对少数设备?
- sql - SQL 数据库搜索中自定义的、用户可定义的“通配符”常量——可能吗?
- mysql - 在MYSQL中选择查询JSON对象数据
- android - 如何在 Android 上通过 websocket 使用 HiveMQ
- selenium - Selenium 在图标上选择
- java - java - 如何通过java Http post中的curl命令发送文件并替换目标中的文件名?
- c# - CMD 命令不执行
- javascript - 如何解决这个语法问题?