小编She*_*ore的帖子

使用 matplotlib 时,LaTeX 方程不会在 google Colaboratory 中呈现

如果我以来自matplotlib 网站的包含乳胶的官方示例为例:

from matplotlib import rc
rc('font',**{'family':'sans-serif','sans-serif':['Helvetica']})
rc('text', usetex=True)
import numpy as np
import matplotlib.pyplot as plt


# Example data
t = np.arange(0.0, 1.0 + 0.01, 0.01)
s = np.cos(4 * np.pi * t) + 2

plt.rc('text', usetex=True)
plt.rc('font', family='serif')
plt.plot(t, s)

plt.xlabel(r'\textbf{time} (s)')
plt.ylabel(r'\textit{voltage} (mV)',fontsize=16)
plt.title(r"\TeX\ is Number "
          r"$\displaystyle\sum_{n=1}^\infty\frac{-e^{i\pi}}{2^n}$!",
          fontsize=16, color='gray')
# Make room for the ridiculously large title.
plt.subplots_adjust(top=0.8)

plt.savefig('tex_demo')
plt.show()
Run Code Online (Sandbox Code Playgroud)

并尝试在 Google Colab notebook 中运行它,它会产生一个大的堆栈跟踪,最后会显示以下消息:

 [Errno 2] No such file or directory: 'latex': 'latex' …
Run Code Online (Sandbox Code Playgroud)

python latex matplotlib google-colaboratory

10
推荐指数
2
解决办法
4450
查看次数

在Django中修改旧的迁移文件是否正确?

我正在尝试将Django项目从迁移Python 2.7/Django 1.11Python 3.7/Django 2.1

我对一个问题有些困惑。

Django 2.1models.ForeignKey(...)项目中的所有代码字符串标记为错误:

TypeError: __init__() missing 1 required positional argument: 'on_delete'
Run Code Online (Sandbox Code Playgroud)

这是因为因为Django 2.x,所以'on_delete'方法是ForeignKey字段的必需项(尝试在带有条目的子表之后添加父表时,获取TypeError:__init __()缺少1个必需的位置参数:'on_delete'

如果您将阅读这篇文章,则解决方案非常简单,您只需添加以下'on_delete'选项之一,例如: models.ForeignKey(..., on_delete=models.CASCADE,)

但是,Django不仅抱怨实际'models.py'文件,而且抱怨所有(!)迁移,其中包括"ForeignKey"添加或更改的字段。

所以我的问题是,在中修改旧的迁移文件是否安全Django?在这种情况下我该怎么办?

python django python-3.x django-2.1

9
推荐指数
2
解决办法
805
查看次数

如何使用Boto3 get_query_results方法从AWS Athena创建数据框

我正在使用AWS Athena从S3查询原始数据。由于Athena将查询输出写入S3输出存储桶,所以我曾经这样做:

df = pd.read_csv(OutputLocation)
Run Code Online (Sandbox Code Playgroud)

但这似乎是一种昂贵的方法。最近,我注意到该get_query_results方法boto3返回一个复杂的结果字典。

client = boto3.client('athena')
response = client.get_query_results(
        QueryExecutionId=res['QueryExecutionId']
        )
Run Code Online (Sandbox Code Playgroud)

我面临两个主要问题:

  1. 如何将结果格式化get_query_resultspandas数据框?
  2. get_query_results仅返回1000行。如何使用它获得两百万行?

python amazon-web-services dataframe pandas amazon-athena

8
推荐指数
4
解决办法
5064
查看次数

从两个列表创建自定义词典

我有两个python列表.

prob_tokens = ['119', '120', '123', '1234', '12345']

complete_tokens = ['112', '120', '121', '123', '1233', '1234', '1235', '12345']

min_len_sec_list = 3
max_len_sec_list = 5
Run Code Online (Sandbox Code Playgroud)

我想创建一个字典,其中第一个列表中的元素作为键并具有以下约束:

  1. 如果第二个列表中不存在键,则值为False.
  2. 如果键存在于带有变体的第二个列表中,则值将为False.

例如:

(i)在检查时123,如果1234,12345存在(123*)在第二个列表中,那么值123将是False.

(ⅱ).同样在检查时1234,如果12345exists(1234*)则值为False.

*将是[0-9]{(max_len-len_token)}

  1. 如果密钥存在于没有变体的第二个列表中,那么值将是True.

输出:

final_token_dict

{'119': False,'120': True, '123': False, '1234': False, '12345': True}
Run Code Online (Sandbox Code Playgroud)

我可以获得有关如何实现这一目标的任何建议吗?提前致谢!!!

python string dictionary

6
推荐指数
1
解决办法
128
查看次数

在Seaborn中使用FacetGrid为所有构面重复x轴标签

我正在处理此处显示的FacetGrid示例,该示例导致下面的图。在我的数据集中,有很多图,将轴标签重复到每个构面(不仅在底部)会很方便。x

对于此示例,62, ..., 76应为每个A-J构面重复这些值。

在此处输入图片说明

python plot matplotlib seaborn facet-grid

6
推荐指数
2
解决办法
1587
查看次数

如何在 Seaborn 的分组箱线图中添加垂直网格线?

我想在 中创建一个boxplot带有垂直网格线的分组seaborn,即,在每个刻度处,应该有一条垂直线,就像在常规散点图中一样。

一些示例代码:

import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import numpy.random as rnd

some_x=[1,2,3,7,9,10,11,12,15,18]
data_for_each_x=[]

for i in range(0, len(some_x)):
    rand_int=rnd.randint(10,30)
    data_for_each_x.append([np.random.randn(rand_int)])

sns.set()
sns.boxplot(data=data_for_each_x, showfliers=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)

它的外观:

在此处输入图片说明

python matplotlib boxplot seaborn

6
推荐指数
1
解决办法
8596
查看次数

基于单元格内容的 Jupyter 笔记本中 matplotlib 内联图的行为

我很想了解下面解释matplotlib的 Jupyter 笔记本中内联图的行为。我将展示三种情况:

案例 1:单独的单元格中导入和绘图。在这种情况下,在连续执行两个单元格一次后会出现绘图。

在此处输入图片说明


案例 2:同一个单元格中导入和绘图。在这种情况下,当单元格[1]执行一次时不会出现图(下图中没有图)。然而,当[1]再次执行相同的单元格时会出现该图。这是作为以下问题提出的问题。

在此处输入图片说明


案例 3:添加%matplotlib inline到案例 2,全部在一个单元格中。在这种情况下,正如预期的那样,在执行一次单元格后会出现绘图。所以这里根本没有问题。

在此处输入图片说明


类似的帖子已被要求在此之前,这只是提及案件2和3的注释ImportanceOfBeingErnest上澄清,Jupyter可能在某种程度上使用配置的链接后%matplotlib inline默认。

所以我的问题不是为什么案例 1 和案例 2 没有%matplotlib inline,而是我想了解

  • 为什么[1]案例 2 中的单元格需要执行两次才能显示绘图,而单元格[1][2]案例 1 中的单元格只执行一次就可以工作?import matplotlib.pyplot as plt当在不同的单元格中调用时,是否在后台以不同的方式调用/激活后端?

系统规格

import sys
print (sys.version)
# 3.6.5 |Anaconda, Inc.

import matplotlib
print (matplotlib.__version__) …
Run Code Online (Sandbox Code Playgroud)

python matplotlib jupyter jupyter-notebook

6
推荐指数
1
解决办法
1928
查看次数

有什么方法可以将seaborn中的颜色条(cbar)更改为图例(对于二进制热图)?

我正在使用 seaborn (sns.heatmap) 中的热图来显示二进制值真/假的矩阵。它工作得很好,但正如预期的那样,颜色条显示了 0-1 范围内的值(实际上只有两种颜色)。

有没有办法将其更改为显示真/假颜色的图例?我在文档中找不到任何内容

https://seaborn.pydata.org/generated/seaborn.heatmap.html

例子:

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd

df = pd.DataFrame({'a':[False,True,False,True,True,True],
                   'b':[False,False,False,False,True,False],
                   'c':[False,True,True,False,True,True],
                   'd':[False,True,False,True,True,True],
                   'e':[False,True,True,False,False,True],
                   'f':[False,True,False,False,True,True]})


# Set up the matplotlib figure
f, ax = plt.subplots(figsize=(13, 13))

# Generate a custom diverging colormap
cmap = sns.diverging_palette(300, 180, as_cmap=True)

# Draw the heatmap with the mask and correct aspect ratio
_ = sns.heatmap(df, cmap=cmap, center=0, square=True, linewidths=.5, cbar_kws={"shrink": .5})
Run Code Online (Sandbox Code Playgroud)

python matplotlib seaborn

5
推荐指数
1
解决办法
3040
查看次数

我使用了 matplotlib,但错误消息 '<Figure size 720x576 with 0 Axes>' 出现在图形中

import matplotlib.pyplot as plt
from matplotlib import font_manager, rc

f_name = font_manager.FontProperties(fname='C:/Windows/Fonts/HANBatangExt.ttf').get_name()
rc('font', family=f_name)
Run Code Online (Sandbox Code Playgroud)

???

plt.plot(run_before, run_after, 'ro-')
Run Code Online (Sandbox Code Playgroud)

???

plt.plot(walk_before, walk_after, 'bo-')
plt.figure(figsize=((10,8)))
plt.show()
Run Code Online (Sandbox Code Playgroud)

python matplotlib

5
推荐指数
1
解决办法
3万
查看次数

如何在matplotlib python中定义边界?

我想绘制以下场方程:

  • dx/dt = x*(4*y + 3*x-3)
  • dy/dt = y*(4*y + 3*x-4)

但我不知道如何将边界限制为三角形x>=0, y>=0, x<=1-y:

在此输入图像描述

# stream plot with matplotlib
import numpy as np
import matplotlib.pyplot as plt
def velocity_i(x,y):
    vx = x*(3*x+4*y-3)
    vy = y*(3*x+4*y-4)
    return vx, vy
n=100
x = np.linspace(0, 1, n)
y = np.linspace(0, 1, n)
X, Y = np.meshgrid(x, y)
Ux, Uy = velocity_i(X, Y)
vels = (Ux**2+Uy**2)**0.5
plt.figure(figsize=(5,4))
stream = plt.streamplot(X, Y,
              Ux,Uy,
              arrowsize=1,
              arrowstyle='->',
              color= vels,
              density=1,
              linewidth=1,
                       )
plt.xlabel(r"$\Omega_{\rm m}$",fontsize='14')
plt.ylabel(r"$\Omega_{\rm …
Run Code Online (Sandbox Code Playgroud)

python plot matplotlib

5
推荐指数
1
解决办法
362
查看次数