如何旋转z-label以使文本读取(bottom => top)而不是(top => bottom)?
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_zlabel('label text flipped', rotation=90)
ax.azim = 225
plt.show()
Run Code Online (Sandbox Code Playgroud)

我想使用色彩图,线框和轮廓绘制表面matplotlib.像这样的东西:
请注意,我不是在询问与xy平行的平面中的轮廓,而是在图像中是3D和白色的轮廓.
如果我采用天真的方式并绘制所有这些东西,我看不到轮廓(见下面的代码和图片).
import numpy as np
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")
X, Y = np.mgrid[-1:1:30j, -1:1:30j]
Z = np.sin(np.pi*X)*np.sin(np.pi*Y)
ax.plot_surface(X, Y, Z, cmap="autumn_r", lw=0.5, rstride=1, cstride=1)
ax.contour(X, Y, Z, 10, lw=3, cmap="autumn_r", linestyles="solid", offset=-1)
ax.contour(X, Y, Z, 10, lw=3, colors="k", linestyles="solid")
plt.show()
Run Code Online (Sandbox Code Playgroud)
如果为表面刻面添加透明度,那么我可以看到轮廓,但它看起来非常混乱(请参阅下面的代码和图像)
import numpy as np
from mpl_toolkits.mplot3d import axes3d
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection="3d")
X, Y = …Run Code Online (Sandbox Code Playgroud) 我想使用matplotlib生成一些透明背景的GIF.我尝试了不同的选项,但我无法获得透明背景的文件.使用当前设置,我得到第一帧,但不是其余的.以下是我的代码
from __future__ import division
from numpy import pi, sin, cos, mgrid
from scipy.special import jn, jn_zeros
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import rcParams
# In Windows the next line should provide the full path to convert.exe
# since convert is a Windows command
rcParams['animation.convert_path'] = "C:\Program Files\ImageMagick-6.9.3\convert.exe"
rcParams['savefig.transparent'] = True
rcParams['savefig.dpi'] = 130
rcParams['savefig.pad_inches'] = 0
plot_args = {'rstride': 1, 'cstride': 1, 'cmap':"RdYlBu",
'linewidth': 0.5, 'antialiased': True, 'color': '#1e1e1e',
'shade': …Run Code Online (Sandbox Code Playgroud) 在 SymPy 中,您可以自动根据表达式绘制曲面,即
from sympy import symbols
from sympy.plotting import plot3d
x, y = symbols('x y')
monkey_saddle = x**3 - 3*x*y**2
plot3d(monkey_saddle, cmap="RdYlBu")
Run Code Online (Sandbox Code Playgroud)
要得到
我找不到任何kwarg改变颜色图的东西。我知道我可以创建一个lambdify然后直接使用 matplotlib 绘制绘图。但我很好奇是否有办法直接在 SymPy 中执行此操作。
我正在用matplotlib绘制条形图.我需要144个竖条.
如果我使用多达140个小节,一切都按预期工作,但是一旦它达到141或更多,我会在最后一个小节的右边看到一个奇怪的空白:
IDs = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31', '32', '33', '34', '35', '36', '37', '38', '39', '40', '41', '42', '43', '44', '45', '46', '47', '48', '49', '50', '51', '52', '53', '54', '55', '56', '57', '58', '59', '60', '61', '62', '63', '64', '65', '66', '67', '68', '69', '70', '71', '72', '73', '74', '75', '76', …Run Code Online (Sandbox Code Playgroud) 我想在背景中创建一些带有网格的 xkcd 图。像这个例子,但是当plt.xkcd()网格不会出现在图中。
from matplotlib import pyplot as plt
import numpy as np
plt.xkcd()
fig = plt.figure()
ax = fig.add_subplot(1, 1, 1)
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
plt.xticks([])
plt.yticks([])
ax.set_ylim([-30, 10])
plt.grid()
data = np.ones(100)
data[70:] -= np.arange(30)
plt.annotate(
'THE DAY I REALIZED\nI COULD COOK BACON\nWHENEVER I WANTED',
xy=(70, 1), arrowprops=dict(arrowstyle='->'), xytext=(15, -10))
plt.plot(data)
plt.xlabel('time')
plt.ylabel('my overall health')
plt.show()
Run Code Online (Sandbox Code Playgroud)
在使用 mplot3d 绘制的图的情况下,网格是“工作的”,如本例所示。虽然,网格似乎是完美的。如何创建网格?
我有存储为列表的列表矩阵,并且表示对标签两个列表x和y轴。
A = [[1, 3, 4, 5, 6, 7],
[3, 3, 0, 7, 9, 2],
[1, 3, 4, 5, 6, 6]]
x = ["A", "B", "C", "E", "F", "G"]
Y = ["R", "S", "T"]
Run Code Online (Sandbox Code Playgroud)
我想将矩阵绘制为表格(如下图所示)。
在 Python 中可能吗?
matplotlib ×9
python ×8
mplot3d ×3
3d ×1
animated-gif ×1
matrix ×1
plot ×1
surface ×1
sympy ×1