python - 如何通过 matplotlib 在矩形条上绘制温度(应力)?

标签 python matplotlib

我尝试使用 matplotlib 库绘制梁的应力。

我已经使用公式计算并绘制了它作为示例:

Figure 1: Example of before and after of finite element of beam

如图 1 所示,您会看到绿色光束在元素 3 和元素 8 处具有更大的应力,因此如果我用彩虹渐变填充颜色,蓝色光束的整体颜色将相同,但绿色光束将具有元素 3 和 8 的不同颜色将比其他元素更多地进入红色一侧。

example of stress plot

这是我的一些代码和结果。

import matplotlib as mpl
import matplotlib.pyplot as plt
import matplotlib.tri as tri
import numpy as np

node_coordinate = {1: [0.0, 1.0], 2: [0.0, 0.0], 3: [4.018905, 0.87781],
                   4: [3.978008, -0.1229], 5: [1.983549, -0.038322],
                   6: [2.013683, 0.958586], 7: [3.018193, 0.922264],
                   8: [2.979695, -0.079299], 9: [1.0070439, 0.989987],
                   10: [0.9909098, -0.014787999999999999]}
element_stress = {1: 0.2572e+01, 2: 0.8214e+00, 3: 0.5689e+01,
                  4: -0.8214e+00, 5: -0.2572e+01, 6: -0.4292e+01,
                  7: 0.4292e+01, 8: -0.5689e+01}

n = len(element_stress.keys())
x = np.empty(n)
y = np.empty(n)
d = np.empty(n)

for i in element_stress.keys():
    x[i-1] = node_coordinate[i][0]
    y[i-1] = node_coordinate[i][1]
    d[i-1] = element_stress[i]

mask = np.logical_or(x < 1.e20, y < 1.e20)
x = np.compress(mask, x)
y = np.compress(mask, y)
triang = tri.Triangulation(x, y)
cmap = mpl.cm.jet
fig = plt.figure(figsize=(80, 40))
ax1 = fig.add_axes([0.05, 0.80, 0.9, 0.15])
cax = ax1.tricontourf(triang, d, cmap=cmap)
fig.colorbar(cax)
plt.show()

example plot from my code

你会看到我知道所有的节点坐标以及元素的应力值。

但是我的图形颜色不平滑,并且没有像上面的示例图那样水平排列。

如何做同样的事情?

附:抱歉我的语法,我不是母语。

谢谢。寻求建议。

最佳答案

增加等高线级别的数量将使绘图显得更加平滑。 例如。 101 个级别,

levels=np.linspace(d.min(), d.max(), num=101)
tri = ax1.tricontourf(triang, d, cmap=cmap, levels=levels)
fig.colorbar(tri)

enter image description here

关于python - 如何通过 matplotlib 在矩形条上绘制温度(应力)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44342311/

相关文章:

y 对数刻度中的 matplotlib stepfill 历史显示不正确

python - 更改MatPlotLib中箱线图中线的长度

javascript - 在 Flask 上运行时未添加外部 JavaScript 文件

python - 如何在绘制 R2 值时使趋势线穿过原点 - python

python - 实时 matplotlib 图在循环中不起作用

python - 如何在一张图中对齐折线图和条形图的 x 轴?

python - matplotlib 表被裁剪

PHP 发出请求检查客户端是否可以通过 ip 访问

python - Word Mover 距离与 SpaCy 的非标准化结果

python - 在 numpy 中动态构造特殊矩阵