我想做一个这样的图表:

问题是,我从一些外部文件获取数据,我可以制作背景图,但我不知道如何在我已经拥有的图中添加另一个图并更改数据以获得不同的结果他们都:
下面我要添加我用来做背景图的代码.希望有人能提供帮助.
from __future__ import division
import numpy as np
import matplotlib.pyplot as plt
plt.rc('text',usetex=True)
font = {'family':'serif','size':16}
plt.rc('font',**font)
plt.rc('legend',**{'fontsize':14})
matplotlib.rcParams['text.latex.preamble']=[r'\usepackage{amsmath}']
data=np.loadtxt(r'C:\...\file.txt')
plt.plot(data[:,0],data[:,6],linewidth = 3,label='B$_0$ = 1.5 T d',linestyle= '--', color='black')
plt.show()
Run Code Online (Sandbox Code Playgroud) A具有以下矩阵,例如:

我想做一些矩阵操作而不添加数字,因为它们可能会有所不同,我想从中得到一般方程式.
我怎样才能得到类似的东西.如果我想做乘法或简单的操作似乎很好,但似乎没有什么工作的逆.
我试过很多像:
from sympy import *
from numpy import matrix
from numpy import linalg
from sympy import Matrix
a1, a2, a3, b1, b2, b3, c1, c2, c3, x, y, z = symbols('a1 a2 a3 b1 b2 b3 c1 c2 c3 x y z')
A = matrix( [[a1,a2,a3],[b1,b2,b3],[c1,c2,c3]]) # Creates a matrix.
B = matrix( [[x],[y],[z]])
C= A*B #That works fine
A_inverse = A.inv() #Doesn't work
Run Code Online (Sandbox Code Playgroud) 我正在绘制箭头图,我的代码使用外部文件,如下所示:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from pylab import rcParams
data=np.loadtxt(r'data.dat')
x = data[:,0]
y = data[:,1]
u = data[:,2]
v = data[:,3]
plt.quiver(x, y, u, v, angles='xy', scale_units='xy', scale=1, pivot='mid',color='g')
Run Code Online (Sandbox Code Playgroud)
数据文件基本上如下:
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
Run Code Online (Sandbox Code Playgroud)
这会产生一个看起来像的情节
有没有办法用不同的箭头方向绘制不同的颜色?
Ps.:我的数据文件中有更多的箭头,这是一个不太合乎逻辑的句子,就像我使用的那样.
这更像是一个一般性的数学问题(甚至可能很愚蠢)。但在高中,我们学习通过右图来确定方程的根。例如,对于方程
y = x^2 - 1
Run Code Online (Sandbox Code Playgroud)
蓝线将向我们展示根源。这是蓝线穿过 x 的时间,因此 +- 1。
现在,如果我们说方程有实部和虚部,那么它是
y = x^2 - 1 + (x^2 - 0.5)i
Run Code Online (Sandbox Code Playgroud)
正如 Mathematica 屏幕截图中给出的那样,我们有一个过零的实部和一个也过零但在不同 x 处的虚部。所以我的问题是:是否可以通过简单地查看绘图的实部和虚部来确定这样一个方程的根?
注意:我的部分困惑是,如果我在 Mathematica 中使用 FindRoot,我会得到 0.877659 - 0.142424i 或 -0.877659 + 0.142424i。因此,可能是数学中的一些基本属性我不知道,它阻止人们通过分离实部和虚部来识别复杂函数的根......
我正在尝试制作一个等高线图,例如:

使用 txt 文件中的 3 列数据表,行数很长。
使用此代码:
import numpy as np
import matplotlib.pyplot as plt
import scipy.interpolate
data = np.loadtxt(r'dataa.txt')
a = [data[:,0]]
b = [data[:,1]]
n = [data[:,2]]
x = np.asarray(a)
y = np.asarray(b)
z = np.asarray(n)
print "x = ", x
print "y = ", y
print "z = ", z
fig=plt.figure()
CF = contour(x,y,z,colors = 'k')
plt.xlabel("X")
plt.ylabel("Y")
plt.colorbar()
plt.show()
Run Code Online (Sandbox Code Playgroud)
我不知道为什么,它不起作用。Python 为我提供了我期望看到的值的正确轴,但图中只是一个空白,我知道它正在以正确的方式导入数据,因为它在绘图之前向我显示了我的值。
表格示例:(差异是因为我的表格有 90000 行)

使用此代码:
import numpy as np
import matplotlib.pyplot as plt
import scipy.interpolate
N …Run Code Online (Sandbox Code Playgroud) 有没有办法在C++中同时满足两个条件?
我有一份清单
x and y
-1 -1
-1 0
-1 1
0 -1
0 0
0 1
1 -1
1 0
1 1
Run Code Online (Sandbox Code Playgroud)
所以我想在一个等式中使用它们的所有组合,例如:
a = x+y (example)
Run Code Online (Sandbox Code Playgroud)
但是我想排除x和y同时为0的情况.
所以我试过了:
if(x!=0 && y!=0){
a = x+y;
}
Run Code Online (Sandbox Code Playgroud)
但这排除了x或y等于0的每种情况,而不仅仅是我想要的点x,y =(0,0).
我怎么解决这个问题?
我已经完成了一个折线图,我想突出显示一个区域,如下图所示

重点是,我想要中间有条纹的东西,而不是纯色(侧面是灰色的)......有人知道如何做到这一点吗?
python ×5
matplotlib ×4
c++ ×1
c++14 ×1
c++builder ×1
graph ×1
graphics ×1
if-statement ×1
math ×1
matrix ×1
sympy ×1
variables ×1