matplotlib sns.set_style()命令在我的代码上不起作用,请协助

kcrjzv8t  于 2023-10-24  发布在  其他
关注(0)|答案(2)|浏览(119)

我尝试在我的代码中使用seaborn包来散点图复杂的数字,但我没有得到任何输出,即使在调用sns.set_style()。请帮助。

from matplotlib import pyplot as plt
import math
import seaborn as sns
s = ([1 + 1j, 1 + 69j, 2 + 1j, 2 + 2j,4.5 - 6.4j])  # s is a list which contains all the complex numbers which r to be plotted
                  
            x = [x.real for x in s]
            y = [y.imag for y in s]
            plt.plot(x, y, 'o', c='red')
            plt.grid(True)
            plt.xlabel('Real number')
            plt.ylabel('Imaginary number')
            plt.title('Graph of given complex numbers')
            sns.set_style("dark")
            plt.show()```
w8ntj3qf

w8ntj3qf1#

**请在#sns.set_style之前添加“sns. set_theme()”#**from matplotlib import pyplot as plt import math import seaborn as sns s =([1 + 1 j,1 + 69 j,2 + 1 j,2 + 2 j,4.5 - 6.4j])# s是一个列表,包含所有要绘制的复数

x = [x.real for x in s]
        y = [y.imag for y in s]
        plt.plot(x, y, 'o', c='red')
        plt.grid(True)
        plt.xlabel('Real number')
        plt.ylabel('Imaginary number')
        plt.title('Graph of given complex numbers')
        sns.set_theme() # to make style changable from defaults use this line of code befor using set_style
        sns.set_style("dark")
        plt.show()

我希望这将运行

tzcvj98z

tzcvj98z2#

我在这里遇到了同样的问题。解决的是移动sns.set_style()被调用的位置。sns.set_style()应该在任何plt.调用之前被调用。
重构你的代码:

from matplotlib import pyplot as plt
import math
import seaborn as sns
s = ([1 + 1j, 1 + 69j, 2 + 1j, 2 + 2j,4.5 - 6.4j])  # s is a list which contains all the complex numbers which r to be plotted
                  
x = [x.real for x in s]
y = [y.imag for y in s]

sns.set_style("dark") # <--- Moving it here fixes it

plt.plot(x, y, 'o', c='red')
plt.grid(True)
plt.xlabel('Real number')
plt.ylabel('Imaginary number')
plt.title('Graph of given complex numbers')

plt.show()

下面有两个情节,一个在剧本的开头设置风格,一个在剧本的结尾。
This is the plot using the sns_set_style() in the end of the script
This is the plot using the sns_set_style() in the beginning of the script

相关问题