Loading
Nota de Estudos
Study Reminders
Support
Text Version

3-Grafismo Dimensional

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

3-Grafismo Dimensional

00:01 Speaker 1: Olá, todo mundo, e bem-vindos à parte dois da seção seis, tudo sobre grafismo tridimensional em Matplotlib. Então, neste tutorial, nós basicamente vamos ter uma introdução rápida na capacidade de plotagem 3D de Matplotlib, mas muito disso deve parecer realmente familiar para você de seções anteriores aqui. Então, para começar, precisamos trazer o eixo tridimensional para tornar isso possível. Então, o que fazemos é de "mpl_toolkits.mplot3d", queremos importar eixo 3D. Então, como você deve adivinhar, há algumas diferenças sutis entre um gráfico bidimensional e um gráfico tridimensional, principalmente, a terceira dimensão, mas também, a fim de interagir com e realmente obter uma boa sensação para gráficos tridimensionais, é importante que possamos meio que mudar nossa perspectiva do gráfico tridimensional.

01:00 S1: Então, esses gráficos precisam ser capazes de ser clicados e arrastados no tipo da mesma forma que nossos outros gráficos puderam ser clicados e arrastados e movimentados, só que isso precisa ser capaz de girar em um eixo tridimensional, também. Então, com isso em mente, temos que ter o eixo tridimensional. Agora, a próxima coisa é bem típica, temos que importar "matplotlib.pieplot" como PLT. Agora, isso é bem comum em todas as tramas então eu não deveria precisar explicar essa por ora. Depois, vamos em frente e vamos fazer "fig=plt.figura", já fizemos isso um antes. E agora, vamos em frente e adicione um eixo, então vamos dizer apenas "ax1 = fig.add_subplot", e este será um por-um-um-um-um, e então vamos dizer que a projeção é igual a 3D.

01:53 S1: Agora, o que isso faz é basicamente notificar Matplotlib que nós vamos lançar três dimensões nele; caso contrário, ele vai fazer essa figura e adicionar a subtrama como se fosse um gráfico bidimensional, quando ele é, realmente, um gráfico tridimensional. Por isso, agora, precisamos de algumas coordenadas. Por isso, precisamos de alguns Xs, precisamos de alguns Ys, em breve, Ys, e então, precisamos de alguns Z. Então, para X, teremos um, dois, três, quatro, cinco seis, sete, oito, nove e um 10. E então, para Y e Z, vamos apenas adicionar alguns números aleatórios aqui. Eu realmente não estou fazendo nada específico, apenas adicionar números aleatórios. Você pode copiar-me se quiser, mas não é necessário.

02:41 S1: Então, eu só vou garantir que eles são do mesmo comprimento; caso contrário, vamos obter erros como vimos no passado. E então, nós estamos prontos para ir "ax.plot" e vamos "plot_wireframes". Então, este será o primeiro que a gente faz, depois nós trama X, Y e Z. Agora, wireframe é apenas uma representação tridimensional de uma linha, basicamente. Então, você vai ver o que eu quero dizer aqui em um momento, mas vamos em frente e fazer "plt.show" e trazer essa coisa para cima. Whoops, este deve ser "wireframe ax1.plot", tente novamente. Ok, então aqui está o nosso gráfico tridimensional, nós podemos torná-lo grande e tudo isso. E como você pode ver, nós temos essa linha e é meio zig-zaga por aí e nós realmente não conseguimos uma sensação para o aspecto tridimensional até começarmos a movimentá-lo por aí. E então, podemos ver que este é, realmente, um gráfico tridimensional que pode ser interagido. Os eixos meio que se invertem automaticamente conforme o necessário e tudo isso, então isso é bem útil.

03:43 S1: Agora, assim como qualquer outro gráfico, porque aqueles machados se invertem, às vezes, é útil ter seus rótulos em seus eixos. Então, é aqui que nossos rótulos, nossa definição de uma subtrama realmente entra em jogo. Então, a forma como podemos fazer isso é com rótulos configurados. Então, podemos dizer "ax1.set_xlabel" e podemos chamar isso de qualquer coisa que quisermos, mas vamos apenas cal do eixo X. Em seguida, podemos dizer "ax1.set_ylabel" e podemos configurar este para ser o eixo Y. E então, finalmente, podemos "ax1.set_zlabel" e isso é igual ao eixo Z. Então, agora, podemos economizar e correr que, e agora, temos o nosso eixo, e até temos rótulos para o eixo. Por isso, à medida que clicamos e arrastamos para girar este gráfico em volta, o eixo está pipocando por todo o lugar, podemos vê-los bastante bem. E você também vai ver como ele meio que anglo a etiqueta com o eixo muito bem. Tem algumas manchas onde ela parece meio funky, mas faz um trabalho muito bom nisso, na verdade.

04:53 S1: Então, então, a próxima pergunta, "Podemos dar um zoom?" No. Toda vez que você basicamente clicar sobre isso, você vai estar zoando-o por aí. Mas o que você pode fazer, é você pode levar ... Vamos clicar em casa rapidinho. Home ainda funciona e se você quisesse dar um zoom, por exemplo, você daria certo clique, e você pode dar zoom assim; não vai dar mais eixo, mas vai permitir que você dê um zoom em nossa fora conforme a necessidade. Então agora, você pode olhar para um bem pequeno no gráfico ou clique com o botão direito e zoom em bastante. E agora, está basicamente fora das paradas, mas de qualquer maneira. E então, você sempre pode usar a parte de trás e a frente e a casa e tudo isso para se voltar orientado para onde você quer estar.

05:38 S1: Então de qualquer maneira, é isso com a introdução realmente básica à tridimensiona tridimensional com Matplotlib. Temos muito mais tramas para cobrir, então é para isso que vocês têm que olhar para frente, então fiquem atentos ao próximo vídeo. 00:01 Speaker 1: O que está acontecendo, todo mundo? Bem-vindo à terceira parte da seção seis, tudo sobre visualização 3D com Python e Matplotlib. O que vamos falar neste tutorial é a representação de um enredo de dispersão do 3D. Então, anteriormente, estávamos desenhando uma linha e conectando os pontos, mas talvez, você queira ter uma trama de dispersão em vez disso. Então, o que nós vamos fazer é vamos ter ... Podemos usar as exatas mesmas coordenadas que temos antes; e realmente, a única coisa que temos que mudar é apenas AX1, e em vez de traçar armação de arame, podemos na verdade apenas espalhar. E nós podemos fazer X, Y, Z e isso está totalmente bem. Vamos em frente e grafo isso em primeiro lugar. E podemos ver que é um complô de dispersão. Nós temos os pontos. Uma coisa a notar são os pontos que estão mais próximos de você são os mais escuros em cores, e os que mais afastam têm um alfa aplicado a eles. Então, à medida que eles ficam mais perto de você, eles ficam mais escuros e mais longe é mais leve e mais ... Na verdade, suponho que menos alfa é aplicada a eles. Então, isso é bem bacano. E, assim, esse é um verdadeiro exemplo simples de enredo de dispersão.

01:12 S1: Agora, como já mostramos antes, o que podemos fazer é, você pode ter coisas como você pode adicionar cor. Então, podemos dizer que a cor é igual a R para vermelho, e então, podemos adicionar um marcador, e podemos ter ... Vamos tentar um marcador de estrelas por enquanto. Então, agora, são estrelas vermelhas em vez de pontos. E há outras coisas aplicáveis, basicamente. Então, você tem os mais afastados que ficam meio desbotados um pouco, menos alfa; e os que estão próximos estão basicamente cheios. Agora, a próxima coisa que a gente pode querer fazer é como ... Com tramas de dispersão, muitas vezes, você está identificando grupos. Então, uma coisa que você pode ter é ... Vamos com o O marcador por enquanto. E talvez, você queira ter outra dispersão. Então, o que nós poderíamos fazer, é que poderíamos levar esse grupo para cá, pegar isso. Tudo bem, copie, cole e vamos alterar tudo isso para negativo para o X. Negativo, negativo, negativo, negativo, negativo, negativo, negativo e um negativo. Ok, os outros nós podemos na verdade apenas ... Eu não sei, deixe aqueles lá. [chuckle] Eu não sei. Na verdade, vamos mudar mais uma linha para os negativos. Negativo aqui, aqui, aqui, aqui, aqui, e aqui. E aí, vamos chamar isso de "x2y2z2". E então, nós faremos um "ax1.scatter" e depois, faremos "x2y2z2", e então vamos dizer que a cor é igual a verde, e marcador pode ser que O de novo, que está muito bem. Então, nós podemos salvar e correr isso agora.

02:51 S1: E agora, você pode até ver que há dois grandes grupos para essa trama de dispersão. Você tem um grupo aqui no lado esquerdo e um grupo do lado direito, e à medida que o movemos por aí, podemos ver o que define esses como diferentes. Então, se estamos apenas comparando eles assim, eles meio que se sobrepõem uns aos outros; e se estamos comparando, talvez, no eixo X, não há muita diferença. Comparamos no eixo Y, não com muita diferença. E então, se compararmos, digamos, olhar sobre o eixo Z, isso geralmente é onde o major ... Vamos ver se conseguimos puxar para cima o Z, tendo um tempo realmente difícil aqui. Z seria assim, e então, puxe-o por aí. Nope, só não é possível vocês. [chuckle]

03:31 S1: Enfim, para que você possa comparar os grupos aqui e ver quais são as diferenças fundamentais entre esses grupos. Então, a gente pode comparar, pelo menos, com o eixo Z aqui, algo assim. E você pode ver que isso não está realmente fazendo muita mudança, mas você pode ver a diferença na sobreposição, basicamente, de ... Pois no eixo Z-eixo, você tem pontos meio de todos os ... Entre 10 e dois, podemos ver que temos pontos todos ao longo desse tipo de ... Ou 10 e zero, suponho. Os dois negativos mostram lá simplesmente simplesmente porque é só ... Isso mostra um pouco mais do que aquilo que temos tramas. Mas então ... Então, podemos ver aqui que realmente não há diferença, então podemos comparar em todo o eixo Y, e dizer: "Bem, é bem óbvio aqui que os vermelhos estão nos positivos, e os verdes estão nos negativos", e então, a mesma coisa vale para esse eixo X aqui onde você tem, de novo, os negativos por aqui e os positivos estão por aqui.

04:22 S1: Então, de qualquer maneira, é assim que você pode usar um enredo de dispersão, e depois, trama, talvez, corpos diferentes de informações, e mostrá-las visualmente, e colori-las de forma diferente, e tudo isso. Vamos fechar com isso. E a próxima pergunta, é claro, pode ser algo como: "Podemos fazer etiquetas?" Então, rótulo é igual, e nós vamos apenas chamar esse vermelho, e então, poderíamos adicionar um rótulo aqui embaixo, "label = verde", e então, a nossa pergunta, realmente, é: "Podemos nos safar" com "plt.legend"? Salve e execute isso, e olhe para nós, podemos até adicionar uma lenda e tudo ainda funciona. Então, ela nos diz: "Ei, esses pontos são o grupo vermelho e esses pontos são o grupo verde, e tudo isso". Então, de qualquer maneira, esse é um exemplo de plotagem de dispersão com Matplotlib em 3D, assim como, espalhador plotando com vários grupos de dados, digamos, e você quer mostrar a diferença.

05:14 S1: Então, no próximo tutorial, nós vamos estar falando de gráficos de barras 3D, então fique atento para isso. 00:00 Speaker 1: O que está acontecendo, todo mundo? E bem-vindos à quarta parte da Seção 6, nesta parte vamos estar falando de gráficos de barras 3D. Agora, os gráficos de barras 3D são meio interessantes com a plotagem 3D porque você tem que considerar bem algumas coisas. Então lembre-se antes com nossos gráficos de barras em duas dimensões, na verdade tínhamos que fornecer três dimensões basicamente, porque você tinha o X e o Y. Na verdade, ainda mais. Então você tinha o ponto X, era um ponto de início, e então você tinha o Y, que era basicamente o quão alto era o bar, mas aí você realmente tinha outro parâmetro que era qual era a largura do bar?

00:40 S1: Agora, com barras 3D, você realmente tem algo bem parecido com isso. Por isso, volta por demanda popular é o meu aplicativo Paint, onde posso desenhar bares incríveis. Então em 2D você tem basicamente o X aqui e então este era o Y, e então você tinha que dar a largura, e então nós tínhamos um bar. Mas uma barra 3D tem basicamente essa profundidade para ele, largura dessa profundidade e, em seguida, também a altura dessa profundidade, basicamente. Então com barras 3D, o que você tem é, você tem o seu X, seu Y e o seu Z porque temos que ter ... É 3D, certo? Então você tem o ponto de partida, que tem que ser não só como antes, nós tínhamos um X e depois um Y. Então você tem esse ponto de partida XYZ, e então você tem que dar a altura, para que isso dê conta disso, e então a largura, que conta para isso, e então a profundidade, que daria conta disso, e então o resto fica conectado. Então você realmente tem que ter seis partes de dados que você se alimenta neste gráfico de barras tridimensional. Então com isso, vamos começar.

01:50 S1: Nós temos esses dados e na verdade, podemos deletar basicamente tudo isso, e nós vamos deixar este X, Y e Z. Vamos fazer zeros, então faremos apenas 00000 ... Whoops 000000 todo o caminho através. E de fato, se você fez download de NumPy antes, como eu estava sugerindo, você vai continuar vendo o NumPy sendo usado, pode muito bem ter. Portanto importar NumPy como NP. E o que você pode fazer com o NumPy, que é bem bacano, é em vez de sempre que você se encontra querendo fazer algo assim, você pode usar o NumPy e você pode dizer NP.0s, e então você especifica quantos, portanto 10. E isso faz basicamente essa matriz NumPy de 10 zeros. Por isso, é meio bacano ter isso como sua habilidade.

02:40 S1: Agora, a próxima coisa que precisamos são esses DVARs, que são eu penso neles como profundidade, e estes podem ser uma lista, então você pode mudá-los por bar, ou eles podem ser o que é chamado de escalador, e isso seria apenas algo que é aplicado em todos os bares. Então o que temos é DX é igual a alguma coisa, DY deve igualar alguma coisa, e DZ igual a algo. Então primeiro, vamos fazê-los escalar e vamos dizer um, um, e um. Por isso, esses bares serão basicamente um profundo e um amplo. Então vamos em frente e renderemos isso e ver o que acontece com a gente. Nós não conseguimos nada. Segure em. Deixe-me fechar com isso. Sabe o que nós fizemos? [chuckle] Nós na verdade não planejamos nada. Então, temos que realmente traçar o bar.

03:34 S1: Então vamos fazer AX1.bar3D, e é assim que tramamos um bar 3D. Agora temos que dar a posição X, a posição Y, e a posição Z, então só fazemos XYZ. Fácil o suficiente. E aí nós fazemos as dimensões, então faremos DX, DY, DZ. E então isso é realmente tudo o que nós temos que fazer, então vamos tentar re-correr isso agora. E lá vai você. Nós temos nossos bares aqui, apenas barras 3D. E por causa dos nossos rótulos, podemos pelo menos classificar de ver o que está acontecendo aqui.

04:08 S1: Então o eixo X foi aquele que foi 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, com certeza o suficiente, podemos meio que alinhamos isso e vemos, yep, isso é verdade. E aí o outro material era o material que variava. Agora, porque estamos definindo D como todos aqueles, então é um largo e um longo basicamente, não estamos realmente conseguindo muito. Também, o eixo Z, somos apenas realmente um alto, embora estamos começando na Z= 0, também, para os bares. Agora, vamos em frente e fechemos isso, e vamos deixar isso um pouco mais interessante.

04:37 S1: Vamos pegar nossos dados, e em vez de escaladores, ainda queremos basicamente o X e o Y porque manter em mente, onde está ... Vamos carregar isso mais uma vez. Onde estão os eixos Z neste gráfico? Bem, tipicamente, a menos que você esteja movimentando coisas ao redor, X está na parte de baixo, Y é meio que parte de baixo, e Z é a altura. Agora, este é apenas o tipo de norma. Obviamente, podemos mover esse gráfico por aí. Podemos até virar de cabeça para baixo se quisemos, embora captar de cabeça para baixo realmente não muda realmente o fato do que Z está fazendo. Mas enfim, esse é apenas o tipo de situação típica.

05:10 S1: Então vamos fechar fora disso, e vamos manter X e Y como iguais a um. Então, assim como fizemos NumPy zeros 10, podemos fazer MP.1s como esse. E vamos dizer que queremos que aqueles sejam 10 minutos de duração, e então faremos novamente MP.1s, e novamente, faremos isso 10 minutos de duração. E então DZ, vamos fazer uma lista basicamente. Faremos apenas 1, 2, 3, 4, 5, 6, 7, 8, 9 e 10. Portanto, este é o elemento variável. Caso contrário, X e Y, X e Y, novamente apenas meio ... Essas são o que está afetando a largura daquela barra, então, que largura e quanto tempo é aquele bar, mas qual é a altura que aquele bar está sendo determinado pelo DZ. Então, vamos em frente e correr esse real rápido. E com certeza, agora temos barras de alturas diferenciadas, então nosso gráfico de barras parece um pouco mais interessante para nós quando você flip ele de cabeça para baixo para o efeito final. [chuckle] Enfim, então aqueles são gráficos de barras 3D.

06:13 S1: E assim um gráfico de barras 3D é bem interessante porque você realmente tem bastante algumas dimensões; você não tem apenas três dimensões. Você tem o início X, Y, Z; você tem altura, largura e comprimento, também. Então você realmente fica um pouco à sua disposição. Não é um display de verdade, digamos, de seis dimensões, e porque a altura e a largura podem entrar no caminho de outras coisas, mas enquanto você souber onde o ponto de partida deveria ter sido, você realmente pode mostrar mais do que apenas um simples, digamos, três pontos de dados alinhando tudo tudo para nós. [chuckle] Enfim, então é isso com gráficos de barras 3D.

06:49 S1: No próximo tutorial, vamos mostrar apenas um exemplo rápido e simples de um ... Ou não é realmente um exemplo simples, mas apenas um rápido show do wireframe novamente, porque você pode realmente fazer um monte de coisas bem legais com o wireframe, mas é preciso ter dados legais para começar. Então, eu vou mostrar para vocês os dados da amostra, e então nós vamos realmente fazer algo legal com o wireframe com isso. Então, de qualquer maneira, é o que vocês têm que olhar para frente, então fiquem atentos para isso. Obrigado por assistir.