前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >超简单,史密斯图绘制方法大公开!!

超简单,史密斯图绘制方法大公开!!

作者头像
DataCharm
发布2022-10-25 10:08:25
2.5K0
发布2022-10-25 10:08:25
举报
文章被收录于专栏:数据 学术 商业 新闻

今天小编给大家推荐一个绘制史密斯圆图(Smith Chart) 超方便的工具-pySmithPlot,详细介绍如下:

pySmithPlot库介绍

pySmithPlot库可通过如下方式进行安装:

代码语言:javascript
复制
pip install pysmithplot-fork

即可完成安装,但需要注意的是,安装后在绘制图表会出现错误:

代码语言:javascript
复制
'numpy.float64' object cannot be interpreted as an integer

通过修改如下语句即可:

代码语言:javascript
复制
#修改smithaxes.py文件的1064行如下:
for xs in np.linspace(x0, x1, int(x_div + 1))[1:]:
#1068行如下:
for ys in np.linspace(y0, y1, int(y_div + 1))[1:]:

以上即可完成该库的完全安装。

pySmithPlot库案例

  • 案例:
代码语言:javascript
复制
import numpy as np
import pandas as pd
from smithplot import SmithAxes

data = np.loadtxt("data/s11.csv", delimiter=",", skiprows=1)[::100]
val1 = data[:, 1] + data[:, 2] * 1j
data = np.loadtxt("data/s22.csv", delimiter=",", skiprows=1)[::100]
val2 = data[:, 1] + data[:, 2] * 1j

from matplotlib import rcParams
import matplotlib.pyplot as pp
rcParams.update({"legend.numpoints": 3})
rcParams["font.family"] = "Times New Roman"
# plot data
pp.figure(figsize=(6, 6),dpi=100,facecolor="w")
ax = pp.subplot(1, 1, 1, projection='smith')
pp.plot([10, 100], markevery=1)


pp.plot(200 + 100j, datatype=SmithAxes.Z_PARAMETER)
pp.plot(50 * val1, label="default", datatype=SmithAxes.Z_PARAMETER)
pp.plot(50 * val2, markevery=1, label="interpolate=3", interpolate=3, datatype=SmithAxes.Z_PARAMETER)
pp.plot(val1, markevery=1, label="equipoints=22", equipoints=22, datatype=SmithAxes.S_PARAMETER)
pp.plot(val2, markevery=3, label="equipoints=22, \nmarkevery=3", equipoints=22, datatype=SmithAxes.S_PARAMETER)

leg = pp.legend(loc="lower right", fontsize=12)
pp.title("Matplotlib Smith Chart Projection")

Example Of pySmithPlot

当然还可以绘制如下样例:

更多关于pySmithPlot库的介绍可参考:pySmithPlot介绍[1]

此外,plotly库也可以绘制史密斯图,样例如下:

详细绘制代码可参考:plotly 史密斯图绘制[2]

总结

今天这篇推文简单介绍史密斯图(smith-charts) 的绘制方法,希望对大家有所帮助。

参考资料

[1]

pySmithPlot: https://github.com/vMeijin/pySmithPlot。

[2]

smith-charts in plotly: https://plotly.com/python/smith-charts/。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataCharm 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • pySmithPlot库介绍
  • pySmithPlot库案例
  • 总结
    • 参考资料
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档