# PetscViewerPushFormat
Sets the format for a `PetscViewer`. 
## Synopsis
```
#include "petscsys.h" 
PetscErrorCode PetscViewerPushFormat(PetscViewer viewer, PetscViewerFormat format)
```
Logically Collective on viewer


## Input Parameters

- ***viewer -*** the `PetscViewer`
- ***format -*** the format





## Notes
Available formats include

- ***`PETSC_VIEWER_DEFAULT` -*** default format
- ***`PETSC_VIEWER_ASCII_MATLAB` -*** MATLAB format
- ***`PETSC_VIEWER_ASCII_IMPL` -*** implementation-specific format
(which is in many cases the same as the default)
- ***`PETSC_VIEWER_ASCII_INFO` -*** basic information about object
- ***`PETSC_VIEWER_ASCII_INFO_DETAIL` -*** more detailed info
about object
- ***`PETSC_VIEWER_ASCII_COMMON` -*** identical output format for
all objects of a particular type
- ***`PETSC_VIEWER_ASCII_INDEX` -*** (for vectors) prints the vector
element number next to each vector entry
- ***`PETSC_VIEWER_NATIVE` -*** store the object to the binary
file in its native format (for example, dense
matrices are stored as dense), for `DMDA` vectors displays vectors in `DMDA` ordering, not natural
- ***`PETSC_VIEWER_DRAW_BASIC` -*** views the vector with a simple 1d plot
- ***`PETSC_VIEWER_DRAW_LG` -*** views the vector with a line graph
- ***`PETSC_VIEWER_DRAW_CONTOUR` -*** views the vector with a contour plot
- ***`PETSC_VIEWER_ASCII_XML` -*** saves the data in XML format, needed for `PetscLogView()` when viewing with `PetscLogNestedBegin()`


These formats are most often used for viewing matrices and vectors.
Currently, the object name is used only in the MATLAB format.


## See Also
 `PetscViewer`, `PetscViewerASCIIOpen()`, `PetscViewerBinaryOpen()`, `MatView()`, `VecView()`,
`PetscViewerSetFormat()`, `PetscViewerPopFormat()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/classes/viewer/interface/viewa.c.html#PetscViewerPushFormat">src/sys/classes/viewer/interface/viewa.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/sys/classes/viewer/tutorials/ex2.c.html">src/sys/classes/viewer/tutorials/ex2.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/vec/tutorials/ex3.c.html">src/vec/vec/tutorials/ex3.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/sf/tutorials/ex1.c.html">src/vec/is/sf/tutorials/ex1.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/sf/tutorials/ex1f.F90.html">src/vec/is/sf/tutorials/ex1f.F90.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/tutorials/ex10.c.html">src/mat/tutorials/ex10.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/tutorials/ex5.c.html">src/dm/impls/plex/tutorials/ex5.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/tutorials/ex22.c.html">src/dm/tutorials/ex22.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/tutorials/ex7.c.html">src/dm/tutorials/ex7.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex27.c.html">src/ksp/ksp/tutorials/ex27.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex34.c.html">src/ksp/ksp/tutorials/ex34.c.html</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/tutorials/ex54.c.html">src/ksp/ksp/tutorials/ex54.c.html</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/classes/viewer/interface/viewa.c)


[Index of all Viewer routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
